typedef struct string
{
	char*arr[20];
	int lenth;
}string;
void my_strstr(int pos,string*p1,string*p2,int next[100])//可实现从某一位置开始的字符串查找;p2为模式串
{
	int i=1;
	int j=0;
	while(i<=p2->lenth)//计算next初始值
	{
		if(j==0 || p1->arr[i]==p2->arr[j])
		{
			i++;
			j++;
			next[i]=j;
		}
		else
			j=next[j];
	}
	i=pos;
	j=1;
	while(i<=p1->lenth && j<=p2->lenth)//移动算法
	{
		if(j==0 || p1->arr[i]==p2->arr[j])
		{
			i++;
			j++;
		}
		else
			j=next[j];
	}
	if(j>p2->lenth)
		return i-p2->lenth;
	else 
		return 0;	
}